import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const routes = [
  // 配置一级路由// 登录页
  { path: '/login', component: () => import('@/views/Login.vue') },
  // 注册页
  { path: '/register', component: () => import('@/views/Register.vue') },
  // 详情页
  { path: '/detail/:id', component: () => import('@/views/Detail.vue') },
  // 首页
  {
    path: '/',
    component: () => import('@/views/Home.vue'),
    children: [
      // 面经列表页
      { path: 'article', component: () => import('@/views/Layout/Article') },
      // 收藏页
      { path: 'collect', component: () => import('@/views/Layout/Collect') },
      // 喜欢
      { path: 'like', component: () => import('@/views/Layout/Like') },
      // 用户
      { path: 'user', component: () => import('@/views/Layout/User') }
    ]
  }
]

const router = new VueRouter({
  routes
})

router.beforeEach((to, from, next) => {
  // to是一个对象，表示到哪里去 to.path表示即将要跳转到的那个地址
  // from是一个对象，表示从哪里来
  // next()表示放行：next('/login')表示跳转到 /login
  if (to.path === '/login' || to.path === '/register') {
    next() // 访问登录和注册，允许访问
  } else {
    // 访问的不是登录，不是注册
    if (localStorage.getItem('mobile-token')) {
      next() // 表示访问的不是登陆注册，但是本地存储有token，也允许访问
    } else {
      next('/login')
    }
  }
})

export default router
